package com.le.tester.webpage.treeList;

import com.google.common.collect.Lists;
import org.springframework.util.CollectionUtils;

import java.util.ArrayList;
import java.util.List;

/**
 * createTime：2021/11/11 16:53
 * description：无限层级树状结构
 */
public class TreeClassifyTemplate {
    //获取app首页分类
//    public ExtResult getClassify() {
//        ExtResult result = ExtResult.NEW();
//        //分类信息
//        List<AppClassifyDto> appClassifyList = appCommonDao.getClassify();
//
//        //存放结果
//        List<AppClassifyDto> childParentInfos = Lists.newArrayList();
//
//        if (!CollectionUtils.isEmpty(appClassifyList)) {
//            //获取所有的父亲节点
//            List<AppClassifyDto> parentList = new ArrayList<>();
//            for (AppClassifyDto fdItem : appClassifyList) {
//                if (fdItem.getParent_id().equals(0L)) {
//                    parentList.add(fdItem);
//                }
//
//            }
//
//            //遍历父节点
//            for (AppClassifyDto fdItem : parentList) {
//                AppClassifyDto appClassifyDto = new AppClassifyDto();
//                //获取到了子节点
//                appClassifyDto = fdItem;
//                appClassifyDto.setChildClassifyList(this.findChildCategory(fdItem.getId(), appClassifyList));
//                childParentInfos.add(appClassifyDto);
//            }
//        }
//        result.setSuccess(true);
//        result.setError(false);
//        result.setCode(ResponseCode.SUCCESS.getCode());
//        result.setMsg(ResponseCode.SUCCESS.getMsg());
//        result.setResult(childParentInfos);
//        result.setData(childParentInfos);
//        return result;
//    }
    //递归算法,算出子节点
//    private List<AppClassifyDto> findChildCategory(Long categoryId, List<AppClassifyDto> appClassifies) {
//        List<AppClassifyDto> resultChilders = Lists.newArrayList();
//        //寻找子节点
//        for (AppClassifyDto children : appClassifies) {
//            if (categoryId.equals(children.getParent_id())) {
//                resultChilders.add(children);
//            }
//        }
//        //开始递归（子节点遍历子节点）
//        for (AppClassifyDto cfItem : resultChilders) {
//            cfItem.setChildClassifyList(findChildCategory(cfItem.getId(), appClassifies));
//        }
//        return resultChilders;
//
//    }
}
